#include<semaphore.h>
#include<pthread.h>
#include<iostream>
namespace my_sem
{
    int defaultvalue=1;
    class mysem
    {
    public:
        mysem()
        {  
            int n=sem_init(&_sem,0,defaultvalue);
            (void)n;
        }
        void P()
        {
            sem_wait(&_sem);
        }
        void V()
        {
            sem_post(&_sem);
        }
        ~mysem()
        {
            sem_destroy(&_sem);
        }
    private:
        sem_t _sem;
        int _value;
    };
}